global popSize weightsSize crossProb numberOfParents maxGeneration patterns solutions mutationType mutationProb nForElite strategyType tolOptimal tolContent prevBestFitness prevStdFitness tolStructure probTraining crossType anularLength probUniformCross epochsTraining maxTemperature minTemperature decRateBoltz;

strategyType = 1; % 1-MAX_GEN / 2-STRUCT / 3-CONTENT / 4-OPTIMAL
crossType = 1; % 1-CLASSIC / 2-MULTIPLE / 3-UNIFORM / 4-ANULAR
mutationType = 1; %1-CLASSIC / 2-NOT UNIFORM
selectType = 3; %1-ROULETTE / 2-ELITE / 3-ELITE+ROULETTE / 4-UNIVERSAL / 5-BOLTZMAN / 6-ELITE+BOLTZMAN
replaceType = 3; %1-ROULETTE / 2-ELITE / 3-ELITE+ROULETTE / 4-UNIVERSAL / 5-BOLTZMAN / 6-ELITE+BOLTZMAN

%CONSTANTS PROBLEM
popSize = 40;
weightsSize = 501;
maxGeneration = 50;

%CONSTANTS SELECT
nForElite = 3;
numberOfParents = 25;
maxTemperature = 1000;
minTemperature = 100;
decRateBoltz = 5;

%CONSTANTS CROSS
crossProb = 0.8;
anularLength = weightsSize/4;
probUniformCross = 0.6;

%CONSTANTS MUTATION
mutationProb = 0.001;

%CONSTANTS TRAINING
probTraining = 0.15;
epochsTraining = 50;

%COSNTANTS STOP STRATEGY
tolOptimal = 20;    % 1/err_min = 1/0.05 = 20
tolContent = 0.00001;   
prevBestFitness = intmax();     %empieza en el valor maximo de int
prevStdFitness = intmax();   %empieza en el valor maximo de int
tolStructure = 0.5;   
